In a data storage device, for example a data replication product DATA DOMAIN of the EMC corporation, prior to replicating a large amount of data to the storage device (such as a disk), a duplicate data removing operation is firstly required, which is also named as de-duplication, to replicate updated portions in the large amount of data to the storage device, thereby saving storage space.
However, in such a data storage device, relevant operations including the de-duplication, such as data segmentation, compression/decompression, encryption/decryption, or the like, are all performed by a central processing unit (CPU). Hence, a network interface card (NIC/FC) connecting the large amount of data to be replicated and the storage device conventionally does not have any programming functions. Though the above operation for data replication may be performed through the CPU, this CPU-based solution often occupies a large amount of CPU resources and results in a lower performance per unit power output (for example, the performance per Watt), and besides, the CPU does not have any advantages in certain single-threaded processing as compared to hardware devices, such as a field programmable gate array (FPGA), or the like.
Dedicated hardware for performing the above operation (for example, Application Specific Integrated Circuit, ASIC) may be used to replace the CPU to perform the above mentioned operation. Although such kind of dedicated hardware-based solution may achieve a higher performance per unit power output, the extendibility or the design flexibility of the dedicated hardware-based network interface card are dramatically restrained due to difficulty for changing the hardware.